﻿namespace User.EF.Contracts
{
    /// <summary>
    /// Beinhaltet alle wichtigen Query Summaries für die Webseite. z.B. die Mitarbeiter Queries, RechteQueries, ....
    /// </summary>
    public interface IWebQuerySummary
    {
        /// <summary>
        /// Die Aktuellen Membership Abfragen
        /// </summary>
        IMembershipQueries MembershipQueries { get; set; }

        /// <summary>
        /// Alle abfragen die mit der Rechteverwaltung zusammenhängen.
        /// </summary>
        IRightQueries RightQueries { get; set; }

        /// <summary>
        /// Allgemeine Mitarbeiterabfragen die sich vor allem auf alle Mitarbeiter beziehen.
        /// </summary>
        IMemberQueries MemberQueries { get; set; }

        /// <summary>
        /// Alle Wichtigen Abfragen für die OAuth Membership Abfragen
        /// </summary>
        IOAuthMembershipQueries OAuthMembershipQueries { get; set; }

        /// <summary>
        /// Speichern der Db Daten/Einstellungen.
        /// </summary>
        /// <returns></returns>
        bool Save();
    }
}
